草庐IT

java - Web 服务的 Web 客户端

全部标签

go - 服务器未从 GO 中的 TCP 客户端接收数据

你好,我在GO中实现了一个服务器,它从客户端读取数据并打印出来。为了从网络流中读取,我正在从服务器上的conn.Read()方法读取。下面是我从网络流中读取一个字节的代码//returnasinglebyteafterreadingfrombufferfuncreadByte(connnet.Conn,buf[]byte,numberofbytes*int,bufCurrPos*int)(byte){fmt.Printf("Byteread")if*bufCurrPos==*numberofbytes{for{*bufCurrPos=0*numberofbytes,_=conn.Rea

go - 我的 Go 服务器无法在 cloud foundry 中启动

我有一个简单的GO服务器,我正试图将其推送到Boshlite上的云类型转换厂(Vagrant+Virtualbox。)这是我的go应用程序的源代码设置:~/workspace/src/github.com/me/(父目录)-上帝-重量weight.golist.yml简介我的weight.go是一个监听9000的简单服务器。1)manifest.yml看起来像这样。applications:-name:weightmemory:128MBinstances:12)Procfile看起来像这样。worker:bin/weight3)我使用默认的构建包。4)当我使用cfpushweight

go - 声明go服务器的ServeHTTP方法

我正在按照指南编写Go服务器here.我不明白下面的block:func(*myHandler)ServeHTTP(whttp.ResponseWriter,r*http.Request){//^^^^^Whatdoesthisdo?它看起来不像返回类型。在Go中,我的理解是返回类型遵循函数的参数。就像这个返回整数的函数:funchello(sString)int{}那么ServeHTTP声明中的(*myHandler)是做什么的呢? 最佳答案 在下面的方法声明中func(*myHandler)ServeHTTP(whttp.Res

amazon-web-services - AWS S3 Golang SDK - 上传文件 - 错误的区域

我在尝试通过官方GolangAWSSDK将文件上传到S3时遇到问题。我的目标是指定位于北加州地区(us-west-1)的存储桶。我可以在S3资源管理器中看到它;但是,当我运行put操作时,出现以下错误:BucketRegionError:incorrectregion,thebucketisnotin'NorthernCalifornia'region这就是我设置连接的方式:creds:=credentials.NewStaticCredentials(aws_access_key_id,aws_secret_access_key,token)_,err:=creds.Get()con

design-patterns - Web 应用程序的 Go Lang 文件夹结构

如您所知,Go是OOPimo的一种现代方法,它具有一些出色的功能,例如强制您使用组合而不是继承。我只是想了解如何根据文件夹和包结构设计编写良好的go代码。我只是想知道这种类似React的方法是否可行(如下所示-将应用程序作为组件划分到不同的包中)?或者你能给我一个例子、链接、关于网络api的文件夹/打包的良好结构的想法。Go将只是我的开源项目后台的一个api,在客户端,我计划有一个单页的React应用顺便说一下。非常感谢, 最佳答案 标准Go项目布局GitHub上有一个Repo,有很多星标(截至撰写时为22k)这种方法实际上非常完整

Golang,更改自定义客户端 MaxIdleConnsPerHost 的结构

我想设置一个自定义的http客户端来同时获取多个http请求。但是,我对Golang比较陌生,我面临着改变客户结构和我想做的事情的可行性的问题。我想用我创建的那个改变s的传输。我的脚本的简化版本是:packagemainimport("fmt""os""github.com/njasm/gosoundcloud")funcmain(){s,err:=gosoundcloud.NewSoundcloudApi("client_id","client_secret",nil)iferr!=nil{panic(err)}iferr=s.PasswordCredentialsToken("us

go - Golang 是否需要在与服务器相同的端口上监听和服务?

我在go中构建了一个小网络应用程序,但在服务器上您无法启动和收听服务功能,因为服务器已经在端口上。我是否需要监听和服务但将其设置在服务器运行的同一端口上?例如,在python中,你有一个virtualenv。go需要类似的环境吗? 最佳答案 当您使用Go的内置服务器时,它与使用Apache或nginx进行监听没有什么不同。你可以监听任何你想要的IP和端口,但你必须避免两者都试图响应相同请求的冲突。如果你的服务器在127.0.0.1:80上监听,你不能让Go在同一个端口上监听,否则会发生冲突(例如)。

go - Go的http服务器可以编译 typescript 吗?

目前我有一个NodeJS应用程序,它使用用TypeScript编写并使用Angular2的客户端代码启动http服务器。是否可以在Go中做同样的事情?我尝试在谷歌上搜索TypeScript和Go,但没有找到任何相关内容。我是否应该安装nodeJS,使用npminstall-gtypescript安装typescript编译器,在我更改它们时编译typescript并在我的Go服务器上提供javascript文件?如能提供有关此问题的任何信息,我们将不胜感激。谢谢! 最佳答案 这里有几个选项:通过在您的html中包含typescrip

go - Go 中的 time.Sleep 和服务器发送事件 - 意外行为

我正在尝试学习在Go中使用服务器发送的事件(SSE)。这以下是我不理解的行为。我期望(并希望实现):每秒发送一条消息;这将发生五次,然后连接将关闭。实际发生了什么:服务器等待大约5秒然后发送一次发送所有消息,然后关闭连接。如果你能帮助我理解为什么会这样,我将不胜感激。我不清楚我的想法哪里出了问题。每次循环开始时,它应该发送一条消息,休眠然后开始一个新的迭代。谢谢。服务器上的相关代码funcrealTimeHandler(whttp.ResponseWriter,req*http.Request){w.Header().Set("Content-Type","text/event-str

parsing - 作为读取消息的服务器,您如何找出消息的长度?

我正在编写一个服务器,它接受来自客户端的传入连接,然后从中读取(通过net.Conn.Read())。很明显,我要把消息读入一个[]byteslice,然后以不相关的方式处理它,但问题是——我如何首先找出这条消息的长度来创建一个相应长度的slice? 最佳答案 这完全取决于您尝试从连接中读取的协议(protocol)的设计。如果您正在设计自己的协议(protocol),则需要为您的读者设计某种方式来确定何时停止阅读或预先声明消息的长度。对于二进制协议(protocol),您经常会发现某种固定大小的header,其中包含某个已知的le